/**
 * 发送get异步请求
 * @param {string} url 
 * @param {string} params 
 * @param {Function} callback 
 * @param {string} dataType 
 * @param {Function} headerFn 
 */

function get(url,params,callback,dataType = 'json',headerFn = null) {
    // 第一步：创建xhr对象
    const xhr = new XMLHttpRequest()
    // 第二部：监控请求状态
    xhr.onreadystatechange = function () {
        //判断后端数据
        if(xhr.readyState === 4){
            //判断状态
            if(xhr.status ===200){
                //获取后端数据
                let res = xhr.responseText
                switch (dataType) {
                    case 'json':
                        res = JSON.parse(res)
                        break;
                
                    default:
                        break;
                }
                //不同逻辑
                callback(res)

            } else {
                console.log('未知错误：',xhr.status)
            }
        }
    }
    // 第三步：设置请求方式和地址
    xhr.open('get',`${url}?${params}`)

    if(headerFn) headerFn(xhr)
    // 第四步：发送请求
    xhr.send(null)
}





/**
 * 发送post异步请求
 * @param {string}  url 
 * @param {string}  params 
 * @param {Function} callback 
 * @param {string} dataType 
 * @param {Function} headerFn 
 */

 function get(url,params,callback,dataType = 'json',headerFn = null) {
    // 第一步：创建xhr对象
    const xhr = new XMLHttpRequest()
    // 第二部：监控请求状态
    xhr.onreadystatechange = function () {
        //判断后端数据
        if(xhr.readyState === 4){
            //判断状态
            if(xhr.status ===200){
                //获取后端数据
                let res = xhr.responseText
                switch (dataType) {
                    case json:
                        res = JSON.parse(res)
                        break;
                
                    default:
                        break;
                }
                //不同逻辑
                callback(res)

            } else {
                console.log('未知错误：',xhr.status)
            }
        }
    }
    // 第三步：设置请求方式和地址
    xhr.open('post',url)
    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    if(headerFn) headerFn(xhr)
    // 第四步：发送请求
    xhr.send(params)
}




